1. Technical Field
The present invention relates generally to the field of data processing systems and more particularly to a bypass circuit for use in such systems.
2. Description of the Related Art
The growth in computer use has created an increasing demand for flexible, high availability systems for storing data for the computer systems. Many enterprises have a multiplicity of host computer systems including personal computers and workstations that either function independently or are connected through a network. It is desirable for multiple host systems to be able to access a common pool of multiple storage systems so that the data can be readily accessed by all the host systems. Such an arrangement increases the total amount of data available to any one host system. Also, the workload can be shared among the hosts and the overall system can be protected from the failure of any one host.
In the field of data storage systems, it is known to connect one or more strings of data storage devices, e.g. disk drives, to a host system using a loop configuration. One advantage of this arrangement is that it provides dual communication paths to a selected device in the loop thus providing an aggregate loop bandwidth which can be higher than that for a single link. Furthermore, storage systems are also known which allow for connection of more than one host system to a single set of disk drives. This arrangement has the advantage that if one host system fails or is powered-down then the other host system can continue to access the data stored on the disk drives.
One result of using loop configurations is the loop can be broken by the failure or power down of one of the nodes in the loop. Such a failure results in reduced access to the remaining devices on the loop and therefore some provision needs to made to restore the loop to its original configuration. Techniques for restoring loop integrity are known but what is needed is a technique for automatically (i.e. without user intervention) restoring the loop configuration using a mechanism which does not itself compromise loop integrity.